theory of computation for gate cse